<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="utf-8" />
    
  <meta name="description" content="love it" />
  
  <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1" />
  <title>
     loveits
  </title>
  <meta name="generator" content="hexo-theme-yilia-plus">
  
  <link rel="shortcut icon" href="/favicon.ico" />
  
	  
  
<link rel="stylesheet" href="/css/main.css">

  
<link rel="stylesheet" href="/css/obsidian.css">

  
  <script src="https://cdn.jsdelivr.net/npm/pace-js@1.0.2/pace.min.js"></script>
  
  
  
<link rel="stylesheet" href="//cdn.bootcss.com/codemirror/5.48.4/codemirror.min.css">

  
<link rel="stylesheet" href="//cdn.bootcss.com/codemirror/5.48.4/theme/dracula.css">

  
<link rel="stylesheet" href="//cdn.datatables.net/1.10.15/css/jquery.dataTables.css">

  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/themes/default/style.min.css" />
  

  

</head>

</html>

<body>
  <div id="app">
  <main class="content">
  
<section class="cover">
    
  <div class="cover-frame">
    <div class="bg-box">
      <img src="/images/cover3.jpg" alt="image frame" />
    </div>
    <div class="cover-inner text-center text-white">
      <h1><a href="/">loveits</a></h1>
      <div id="subtitle-box">
        
        <span id="subtitle"></span>
        
      </div>
      <div>
        
        <img
          src="/images/logo.png"
          class="cover-logo"
          alt="loveits"
        />
        
      </div>
    </div>
  </div>
  <div class="cover-learn-more">
    <a href="javascript:void(0)" class="anchor"><i class="ri-arrow-down-line"></i></a>
  </div>
</section>



<script src="https://cdn.jsdelivr.net/npm/typed.js@2.0.11/lib/typed.min.js"></script>

<div id="main">
  <section class="outer">
  <article class="articles">
	  
	  
	  
    
    
	
	<div id="postEcharts" style="width:100%;height:200px"></div>
	
    
		
			
		
			
		
			
		
			
		
			
		
			
		
		
			
				<article id="post-plan/博客计划" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/e36f6f2c.html"
    >2020年博客-文章计划	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/e36f6f2c.html" class="article-date">
  <time datetime="2020-03-12T06:07:53.000Z" itemprop="datePublished">2020-03-12</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E8%AE%A1%E5%88%92/">计划</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      
      
      <h2 id="第二季度"><a href="#第二季度" class="headerlink" title="第二季度"></a>第二季度</h2><ul>
<li><p>解决方案</p>
<ul>
<li>typora + picgo +sm.ms 博客图床方案<ul>
<li>图片备份</li>
<li>解决短链接，图片文件夹</li>
<li>方便同平台发布</li>
</ul>
</li>
</ul>
</li>
<li><p>好物</p>
<ul>
<li>好物分享</li>
<li>好物种草</li>
<li>好物寻找 <code>明确大致需求，慢慢找</code></li>
</ul>
</li>
<li><p>软件</p>
<ul>
<li>软件推荐  <code>使用过的软件，推荐以及小技巧的分享</code><ul>
<li>好用的网站</li>
</ul>
</li>
<li>软件记录  <code>不同类型的软件记录，防止遗忘</code></li>
<li>付费软件 <code>记录愿意为之付费的软件</code></li>
</ul>
</li>
<li><p>我</p>
<ul>
<li>分析自己</li>
<li>三观</li>
</ul>
</li>
</ul>
<table>
<thead>
<tr>
<th></th>
<th>内容</th>
<th>标签</th>
<th>计划时间</th>
<th>完成情况</th>
</tr>
</thead>
<tbody><tr>
<td></td>
<td>详解</td>
<td>jquery datatable.js</td>
<td>2020-03-31 15:21:11</td>
<td></td>
</tr>
<tr>
<td></td>
<td>hexo中的应用</td>
<td>jquery datatable.js</td>
<td>2020-03-31 15:21:15</td>
<td></td>
</tr>
<tr>
<td></td>
<td>hbuilder-使用环境及常用快捷键</td>
<td>ide</td>
<td>2020-03-31 15:26:33</td>
<td></td>
</tr>
<tr>
<td></td>
<td>vscode使用场景及常用插件</td>
<td>ide</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>使用gitee issue作为博客微型数据库的解决方案</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>hexo中只用jstree上</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>hexo中只用jstree下-深度使用</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>hbuilder终端打开不了的解决办法</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>jstree源码分析（粗）</td>
<td>js</td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>json（id，pid）数据转json tree（children）</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>我，三观</td>
<td></td>
<td></td>
<td></td>
</tr>
<tr>
<td></td>
<td>关于该博客</td>
<td></td>
<td></td>
<td></td>
</tr>
</tbody></table>
<hr>

     
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E8%AE%A1%E5%88%92/" rel="tag">计划</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
			
				<article id="post-dictionary/dict" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/15233e11.html"
    >MD_TODO_List	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/15233e11.html" class="article-date">
  <time datetime="2020-03-12T06:07:53.000Z" itemprop="datePublished">2020-03-12</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%AD%97%E5%85%B8/">字典</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      
      
      <a id="more"></a>
     
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/Markdown/" rel="tag">Markdown</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
			
				<article id="post-plan/开发计划" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/28cea56f.html"
    >2020第三季度-开发计划	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/28cea56f.html" class="article-date">
  <time datetime="2020-03-12T06:07:53.000Z" itemprop="datePublished">2020-03-12</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E8%AE%A1%E5%88%92/">计划</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      
      
      <h2 id="近期开发计划"><a href="#近期开发计划" class="headerlink" title="近期开发计划"></a>近期开发计划</h2><ul>
<li>docker的使用</li>
<li>图云的研究</li>
<li>ios使用shell</li>
<li>服务器上部署git环境</li>
<li>python回顾,加强hellow world(入门非常重要,理解基本原理)</li>
<li>hexo插件 检查所有图片和链接是否有效</li>
<li>hexo插件 统计所有的TODO</li>
<li>hexo个人主题开发<ul>
<li>grunt</li>
<li>压缩</li>
<li>cdn管理</li>
<li>样式统一管理<ul>
<li>js优化</li>
<li>缓存优化 fragment_cache</li>
</ul>
</li>
</ul>
</li>
<li>hexo插件 代码块格式化-CodeMirror</li>
<li>hexo插件 推荐ejs支持-CodeMirror</li>
<li>图床管理</li>
<li>WebGL<ul>
<li>things.js</li>
<li>three.js</li>
</ul>
</li>
<li>WebRTC</li>
</ul>

     
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/%E8%AE%A1%E5%88%92/" rel="tag">计划</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
			
				<article id="post-hexo/hexo-1" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/73f466e7.html"
    >hexo的简单使用	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/73f466e7.html" class="article-date">
  <time datetime="2020-03-11T12:27:23.000Z" itemprop="datePublished">2020-03-11</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%A4%A7%E5%89%8D%E7%AB%AF/">大前端</a> / <a class="article-category-link" href="/categories/%E5%A4%A7%E5%89%8D%E7%AB%AF/hexo/">hexo</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      
      
      <p>使用hexo制作个人博客</p>
<h3 id="安装部署"><a href="#安装部署" class="headerlink" title="安装部署"></a>安装部署</h3><p>　　安装部署比较简单,看官方文档很快就解决了</p>
<h3 id="安装hexo"><a href="#安装hexo" class="headerlink" title="安装hexo"></a>安装hexo</h3><pre><code class="JavaScript">    npm install hexo-cli -g
    hexo init blog
    cd blog
    npm install
    hexo server</code></pre>
<h3 id="hexo-deployer-git-部署到github"><a href="#hexo-deployer-git-部署到github" class="headerlink" title="hexo-deployer-git 部署到github"></a>hexo-deployer-git 部署到github</h3><pre><code class="JavaScript">    //部署服务到git
    npm install hexo-deployer-git --save</code></pre>
<p>修改配置文件<code>_config.yaml</code></p>
<pre><code class="JavaScript"># _config.yaml
deploy:
  - type: git
    repo: git@github.com:&lt;username&gt;/&lt;username&gt;.github.io.git
    branch: master
    name: loyalvi
    email: 2869775223@qq.com</code></pre>
<h2 id="常用指令"><a href="#常用指令" class="headerlink" title="常用指令"></a>常用指令</h2><pre><code class="JavaScript">    #npm
    //Layout post page draft false
    hexo new [layout] &lt;title&gt;
    //推送草稿
    hexo publish [layout] &lt;title&gt;
    //显示草稿文件夹
    hexo --draft 
    //生成静态文件
    hexo generate 
    //清除缓存文件 (db.json) 和已生成的静态文件 (public)。
    hexo clean 
    //部署网站
    hexo deploy</code></pre>
<h2 id="Front-matter"><a href="#Front-matter" class="headerlink" title="Front-matter"></a>Front-matter</h2><p>Front-matter 是文件最上方以 <code>---</code>分隔的区域，用于指定个别文件的变量，举例来说：</p>
<pre><code>---
title: Hello World
date: 2013/7/13 20:46:25
---</code></pre><table>
<thead>
<tr>
<th>参数</th>
<th>描述</th>
<th>默认值</th>
</tr>
</thead>
<tbody><tr>
<td>layout</td>
<td>布局</td>
<td></td>
</tr>
<tr>
<td>title</td>
<td>标题</td>
<td>文章的文件名</td>
</tr>
<tr>
<td>date</td>
<td>建立日期</td>
<td>文件建立日期</td>
</tr>
<tr>
<td>updated</td>
<td>更新日期</td>
<td>文件更新日期</td>
</tr>
<tr>
<td>comments</td>
<td>开启文章的评论功能</td>
<td>true</td>
</tr>
<tr>
<td>tags</td>
<td>标签（不适用于分页）</td>
<td></td>
</tr>
<tr>
<td>categories</td>
<td>分类（不适用于分页）</td>
<td></td>
</tr>
<tr>
<td>permalink</td>
<td>覆盖文章网址</td>
<td></td>
</tr>
<tr>
<td>keywords</td>
<td>仅用于 meta 标签和 Open Graph 的关键词（不推荐使用）</td>
<td></td>
</tr>
</tbody></table>
<p>分类具有顺序性和层次性，也就是说 Foo, Bar 不等于 Bar, Foo；而标签没有顺序和层次。</p>
<pre><code>categories:
- Diary
tags:
- PS3
- Games</code></pre><h2 id="小技巧"><a href="#小技巧" class="headerlink" title="小技巧"></a>小技巧</h2><ul>
<li>在要显示的文字末尾添加如下代码实现文章在主页的折叠显示<code>&lt;!-- more --&gt;</code>  </li>
<li>首行缩进 <code>&amp;ensp;</code> //相当于1个中文，2字节</li>
<li><code>&quot;hexo-asset-image&quot;: &quot;git+https://github.com/CodeFalling/hexo-asset-image.git&quot;</code>图片预览插件<h2 id="TODO"><a href="#TODO" class="headerlink" title="TODO"></a>TODO</h2><ul>
<li><input disabled="" type="checkbox"> 源码上git</li>
<li><input disabled="" type="checkbox"> 安装主题</li>
<li><input disabled="" type="checkbox"> 研究一下常用的hexo指令</li>
<li><input disabled="" type="checkbox"> 研究一下常用的文件目录结构</li>
<li><input disabled="" type="checkbox"> 研究更新日志如何添加</li>
</ul>
</li>
</ul>

     
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/blog/" rel="tag">blog</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/hexo/" rel="tag">hexo</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
			
				<article id="post-bigfront/bf-1" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/78d8ffd6.html"
    >大前端	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/78d8ffd6.html" class="article-date">
  <time datetime="2019-03-11T06:07:53.000Z" itemprop="datePublished">2019-03-11</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%A4%A7%E5%89%8D%E7%AB%AF/">大前端</a> / <a class="article-category-link" href="/categories/%E5%A4%A7%E5%89%8D%E7%AB%AF/%E6%9E%84%E5%BB%BA/">构建</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      

      true
      
      <a class="article-more-link" href="/p/78d8ffd6.html">阅读更多...</a>
      
      
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/grunt/" rel="tag">grunt</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
			
				<article id="post-backstage/bs-1" class="article article-type-post" itemscope
  itemprop="blogPost" data-scroll-reveal>

  <div class="article-inner">
    
    <header class="article-header">
       
<h2 itemprop="name">
  <a class="article-title" href="/p/8488fbd8.html"
    >使用mysqldump对mysql数据库全量备份	  </a
  >
</h2>
  

    </header>
    
    
	
    
    <div class="article-meta">
      <a href="/p/8488fbd8.html" class="article-date">
  <time datetime="2018-12-13T08:42:28.000Z" itemprop="datePublished">2018-12-13</time>
</a>
      <a href="#" class="article-updated">
  2020-12-16
</a>
      
  <div class="article-category">
    <a class="article-category-link" href="/categories/%E5%90%8E%E7%AB%AF/">后端</a> / <a class="article-category-link" href="/categories/%E5%90%8E%E7%AB%AF/%E6%95%B0%E6%8D%AE%E5%BA%93/">数据库</a>
  </div>

      
      
      
    </div>
    
    
    

    
    
    

    <div class="article-entry" itemprop="articleBody">
      
      
      <h2 id="一丶前言"><a href="#一丶前言" class="headerlink" title="一丶前言"></a>一丶前言</h2><p>最近项目需要做mysql的数据库备份</p>
<h2 id="二丶分析需求"><a href="#二丶分析需求" class="headerlink" title="二丶分析需求"></a>二丶分析需求</h2><p>要求尽量使用最简单的方法实现数据库的全量备份</p>
<ol>
<li>可以实现数据库备份的shell脚本</li>
<li>定时执行备份脚本</li>
<li>恢复脚本</li>
</ol>
<h2 id="三丶shell脚本"><a href="#三丶shell脚本" class="headerlink" title="三丶shell脚本"></a>三丶shell脚本</h2><p>shell脚本的核心是</p>
<pre><code class="bash">mysqldump -uroot -pnr123456\!Z fault_report &gt; /home/ns5000/javaweb/backup/fault_report-1210.sql</code></pre>
<p>该语句相当于转储为sql文件，将mysql表结构和数据进行备份。<br>其他要做的就是建立备份日志，删除多余备份。</p>
<pre><code class="shell">#保存备份个数 
number=3 
#备份保存路径 
backup_dir=/home/ns5000/javaweb/backup 
#日期 
dd=`date +%Y%m%d%H%m` 
#备份工具 
tool=mysqldump 
#用户名 
username=root 
#密码 
password=123456\!A 
#将要备份的数据库 
database_name=fr
#简单写法  mysqldump -uroot -p123456\!A fault_report &gt; /home/backup/fr.sql
$tool -u$username -p$password $database_name &gt; $backup_dir/$database_name-$dd.sql
#写创建备份日志 
echo &quot;create $backup_dir/$database_name-$dd.sql&quot; &gt;&gt; $backup_dir/mysql-backup-log.txt  
#找出需要删除的备份 
delfile=`ls -l $backup_dir/*.sql | awk &#39;{print $9 }&#39; | head -1` 
#判断现在的备份数量是否大于$number 
count=`ls -l $backup_dir/*.sql | awk &#39;{print $9 }&#39; | wc -l` 
if [ $count -gt $number ] 
then 
  rm $delfile  
  #写删除文件日志 
  echo &quot;delete $delfile&quot; &gt;&gt; $backup_dir/mysql-backup-log.txt 
fi</code></pre>
<p>代码配合注释还好理解，不过有几个点需要注意：</p>
<ol>
<li><code>password=123456!A</code> 我的密码差不多类似是这样的数字大写特殊符号，如果直接这么写会报错，需要在！前加转义\ 即<code>password=123456\!A</code>;</li>
<li><code>ls -l $backup_dir/*.sql | awk &#39;{print $9 }&#39; | head -1</code> $9 指取第九列的数据，但是有一次我测试的时候发现我的文件名称在第8列，之前都是第九列，所以干脆改成<code>ls  $backup_dir/*.sql | awk &#39;{print $1 }&#39; | head -1</code><pre><code class="shell">chmod 755 mysql-backup.sh
./mysql-backup.sh
cat mysql-backup-log.txt</code></pre>
验证（日志文件是否正确，备份文件是否生成）该sh文件之后进入下一步</li>
</ol>
<h2 id="四丶定时任务"><a href="#四丶定时任务" class="headerlink" title="四丶定时任务"></a>四丶定时任务</h2><p>定时任务使用crontab<br>使用crontab有几个命令必须了解一下  </p>
<pre><code class="shell">##编辑添加cron
crontab -e 
##查看所有cron
crontab -l
##查看全局配置文件
cat /etc/crontab</code></pre>
<p>使用<code>crontab -e</code>  </p>
<p><img src="https://img-blog.csdnimg.cn/20181211164731864.png" alt="添加cron"><br><code>:wq</code>保存退出</p>
<h2 id="五丶恢复脚本"><a href="#五丶恢复脚本" class="headerlink" title="五丶恢复脚本"></a>五丶恢复脚本</h2><p><code>mysql -uroot -p&quot;db_password&quot; -f dbname &lt; /home/backup/fr.sql</code></p>

     
      
    </div>

    

    <!-- copyright -->
    
    <footer class="article-footer">
      
      
  <ul class="article-tag-list" itemprop="keywords"><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/crontab/" rel="tag">crontab</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/mysql/" rel="tag">mysql</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/mysqldump/" rel="tag">mysqldump</a></li><li class="article-tag-list-item"><a class="article-tag-list-link" href="/tags/shell/" rel="tag">shell</a></li></ul>


    </footer>

  </div>

  

  

  

</article>,
			
		
		</article>
	
  
  <nav class="page-nav">
    
    <a class="extend prev" rel="prev" href="/page/3/">上一页</a><a class="page-number" href="/">1</a><a class="page-number" href="/page/2/">2</a><a class="page-number" href="/page/3/">3</a><span class="page-number current">4</span>
  </nav>
  
</section>

<script crossorigin="anonymous" integrity="sha384-grSbRFJ7wnaD/ZEWv79klTjkCgkTTfcw39pNmwgXlBB7zVm/oNqih+PZ6qblVvao" src="https://lib.baomitu.com/echarts/4.6.0/echarts-en.min.js"></script>
<script>

let myChart = echarts.init(document.getElementById('postEcharts'));
let option = {
    "tooltip": {
        "padding": 10,
        "backgroundColor": "#555",
        "borderColor": "#777",
        "borderWidth": 1,
		formatter: function(data){
			return data.marker + data.value[0] + " : " + data.value[1] + " 篇"
		}
    },
    "visualMap": {
      "show": true,
      "showLabel": true,
      "calculable": true,
      "min":"0",
      "max":"5",
      "inRange": {
        "symbol": "rect",
        "color": ["#f5f5f5", "#c6e48b", "#7bc96f", "#239a3b", "#196127"]
      },
      "itemWidth": 12,
      "itemHeight": 100,
      "orient": "horizontal",
      "right": 100,
      "bottom": 20,
      "align": 'top'
    },
    "calendar": [{
        "left": "center",
		"top":"middle",
        "range": ["2020-04-17","2020-12-17"],
        "cellSize": [13, 13],
        "splitLine": {
            "show": true
        },
        "itemStyle": {
            "color": "#fff",
            "borderColor": "#fff",
            "borderWidth": 1
        },
        "yearLabel": {
            "show": false
        },
        "monthLabel": {
            "nameMap": "cn",
            "fontSize": 11
        },
        "dayLabel": {
            "formatter": "{start}  1st",
            "nameMap": "cn",
            "fontSize": 11
        }
    }],
    "series": [{
        "type": "heatmap",
        "coordinateSystem": "calendar",
        "calendarIndex": 0,
        "data": [["2020-04-17", 0], ["2020-04-18", 0], ["2020-04-19", 0], ["2020-04-20", 0], ["2020-04-21", 0], ["2020-04-22", 0], ["2020-04-23", 0], ["2020-04-24", 1], ["2020-04-25", 0], ["2020-04-26", 1], ["2020-04-27", 0], ["2020-04-28", 0], ["2020-04-29", 0], ["2020-04-30", 0], ["2020-05-01", 0], ["2020-05-02", 2], ["2020-05-03", 0], ["2020-05-04", 0], ["2020-05-05", 0], ["2020-05-06", 0], ["2020-05-07", 0], ["2020-05-08", 0], ["2020-05-09", 0], ["2020-05-10", 0], ["2020-05-11", 0], ["2020-05-12", 0], ["2020-05-13", 0], ["2020-05-14", 0], ["2020-05-15", 0], ["2020-05-16", 0], ["2020-05-17", 0], ["2020-05-18", 0], ["2020-05-19", 0], ["2020-05-20", 0], ["2020-05-21", 0], ["2020-05-22", 0], ["2020-05-23", 0], ["2020-05-24", 0], ["2020-05-25", 0], ["2020-05-26", 1], ["2020-05-27", 0], ["2020-05-28", 0], ["2020-05-29", 0], ["2020-05-30", 0], ["2020-05-31", 0], ["2020-06-01", 0], ["2020-06-02", 0], ["2020-06-03", 0], ["2020-06-04", 0], ["2020-06-05", 0], ["2020-06-06", 0], ["2020-06-07", 0], ["2020-06-08", 0], ["2020-06-09", 0], ["2020-06-10", 0], ["2020-06-11", 0], ["2020-06-12", 0], ["2020-06-13", 0], ["2020-06-14", 0], ["2020-06-15", 0], ["2020-06-16", 0], ["2020-06-17", 0], ["2020-06-18", 0], ["2020-06-19", 0], ["2020-06-20", 0], ["2020-06-21", 0], ["2020-06-22", 1], ["2020-06-23", 0], ["2020-06-24", 0], ["2020-06-25", 0], ["2020-06-26", 0], ["2020-06-27", 0], ["2020-06-28", 0], ["2020-06-29", 0], ["2020-06-30", 0], ["2020-07-01", 0], ["2020-07-02", 0], ["2020-07-03", 0], ["2020-07-04", 0], ["2020-07-05", 0], ["2020-07-06", 0], ["2020-07-07", 0], ["2020-07-08", 0], ["2020-07-09", 2], ["2020-07-10", 0], ["2020-07-11", 0], ["2020-07-12", 0], ["2020-07-13", 0], ["2020-07-14", 0], ["2020-07-15", 0], ["2020-07-16", 0], ["2020-07-17", 0], ["2020-07-18", 0], ["2020-07-19", 0], ["2020-07-20", 0], ["2020-07-21", 0], ["2020-07-22", 0], ["2020-07-23", 0], ["2020-07-24", 0], ["2020-07-25", 0], ["2020-07-26", 0], ["2020-07-27", 0], ["2020-07-28", 0], ["2020-07-29", 1], ["2020-07-30", 0], ["2020-07-31", 0], ["2020-08-01", 0], ["2020-08-02", 0], ["2020-08-03", 0], ["2020-08-04", 0], ["2020-08-05", 0], ["2020-08-06", 0], ["2020-08-07", 0], ["2020-08-08", 0], ["2020-08-09", 0], ["2020-08-10", 0], ["2020-08-11", 0], ["2020-08-12", 0], ["2020-08-13", 0], ["2020-08-14", 0], ["2020-08-15", 0], ["2020-08-16", 0], ["2020-08-17", 0], ["2020-08-18", 0], ["2020-08-19", 0], ["2020-08-20", 0], ["2020-08-21", 0], ["2020-08-22", 0], ["2020-08-23", 0], ["2020-08-24", 0], ["2020-08-25", 0], ["2020-08-26", 0], ["2020-08-27", 0], ["2020-08-28", 0], ["2020-08-29", 0], ["2020-08-30", 0], ["2020-08-31", 0], ["2020-09-01", 0], ["2020-09-02", 0], ["2020-09-03", 0], ["2020-09-04", 0], ["2020-09-05", 0], ["2020-09-06", 0], ["2020-09-07", 0], ["2020-09-08", 0], ["2020-09-09", 0], ["2020-09-10", 0], ["2020-09-11", 0], ["2020-09-12", 0], ["2020-09-13", 0], ["2020-09-14", 0], ["2020-09-15", 0], ["2020-09-16", 0], ["2020-09-17", 0], ["2020-09-18", 0], ["2020-09-19", 0], ["2020-09-20", 0], ["2020-09-21", 0], ["2020-09-22", 0], ["2020-09-23", 0], ["2020-09-24", 0], ["2020-09-25", 0], ["2020-09-26", 0], ["2020-09-27", 0], ["2020-09-28", 0], ["2020-09-29", 0], ["2020-09-30", 0], ["2020-10-01", 0], ["2020-10-02", 0], ["2020-10-03", 0], ["2020-10-04", 0], ["2020-10-05", 0], ["2020-10-06", 0], ["2020-10-07", 0], ["2020-10-08", 0], ["2020-10-09", 0], ["2020-10-10", 0], ["2020-10-11", 0], ["2020-10-12", 0], ["2020-10-13", 0], ["2020-10-14", 0], ["2020-10-15", 0], ["2020-10-16", 0], ["2020-10-17", 0], ["2020-10-18", 0], ["2020-10-19", 0], ["2020-10-20", 0], ["2020-10-21", 0], ["2020-10-22", 0], ["2020-10-23", 0], ["2020-10-24", 0], ["2020-10-25", 0], ["2020-10-26", 0], ["2020-10-27", 0], ["2020-10-28", 0], ["2020-10-29", 0], ["2020-10-30", 0], ["2020-10-31", 0], ["2020-11-01", 0], ["2020-11-02", 0], ["2020-11-03", 0], ["2020-11-04", 0], ["2020-11-05", 0], ["2020-11-06", 0], ["2020-11-07", 0], ["2020-11-08", 0], ["2020-11-09", 0], ["2020-11-10", 0], ["2020-11-11", 0], ["2020-11-12", 0], ["2020-11-13", 0], ["2020-11-14", 0], ["2020-11-15", 0], ["2020-11-16", 0], ["2020-11-17", 0], ["2020-11-18", 0], ["2020-11-19", 0], ["2020-11-20", 0], ["2020-11-21", 1], ["2020-11-22", 0], ["2020-11-23", 0], ["2020-11-24", 0], ["2020-11-25", 0], ["2020-11-26", 0], ["2020-11-27", 0], ["2020-11-28", 0], ["2020-11-29", 0], ["2020-11-30", 0], ["2020-12-01", 0], ["2020-12-02", 0], ["2020-12-03", 0], ["2020-12-04", 0], ["2020-12-05", 0], ["2020-12-06", 0], ["2020-12-07", 0], ["2020-12-08", 0], ["2020-12-09", 0], ["2020-12-10", 0], ["2020-12-11", 0], ["2020-12-12", 0], ["2020-12-13", 0], ["2020-12-14", 0], ["2020-12-15", 0], ["2020-12-16", 3], ["2020-12-17", 1]]
    }]
}
myChart.setOption(option);
myChart.on('click', function (param) {
	let  v = param.value[0].split("-");
	if(param.value[1]>0) window.location.href = "/archives/"+v[0]+"/"+v[1]+"/"; 
});

</script>
</div>

  <footer class="footer">
  <div class="outer">
    <ul class="list-inline">
      <li>
        <!-- loveits blog α -->
        &copy;
        2020
        loyalvi α
      </li>
	  <li>
	    
	    Powered by
	    
	    
	    <a href="https://hexo.io" target="_blank">Hexo</a> Theme <a href="https://github.com/Shen-Yu/hexo-theme-ayer" target="_blank">Ayer</a>
	    
	  </li>
      <!-- <li>
        联系方式（TODO）
      </li> -->
    </ul>
    <ul class="list-inline">
      <li>
        
      </li>
	  
	  
	  <li>
	    <a href="http://www.beian.miit.gov.cn/" target="_black">苏ICP备20008261号-1</a>
	  </li>
	  
	  
      <li>
        <!-- cnzz统计 -->
        
      </li>
	  
    </ul>
  </div>
</footer>
  <div class="to_top">
  <div class="totop" id="totop">
  <i class="ri-arrow-up-line"></i>
</div>
  </div>
  </main>
  <aside class="sidebar">
  <button class="navbar-toggle"></button>
<nav class="navbar">
  
  <div class="logo">
    <a href="/"><img src="/images/logo-white.png" alt="loveits"></a>
  </div>
  
  <ul class="nav nav-main">
    
    <li class="nav-item">
      <a class="nav-item-link" href="/archives">归档</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories">分类</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/tags">标签</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories/%E8%AE%A1%E5%88%92/">计划</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/categories/%E5%AD%97%E5%85%B8/">字典</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/todo">待办</a>
    </li>
    
    <li class="nav-item">
      <a class="nav-item-link" href="/p/9ff79b23.html">我</a>
    </li>
    
  </ul>
</nav>
<nav class="navbar navbar-bottom">
  <ul class="nav">
    <li class="nav-item">
      
      <a class="nav-item-link nav-item-search"  title="搜索">
        <i class="ri-search-line"></i>
      </a>
      
      
    </li>
  </ul>
</nav>
<div class="search-form-wrap">
  <div class="local-search local-search-plugin">
  <input type="search" id="local-search-input" class="local-search-input" placeholder="Search...">
  <div id="local-search-result" class="local-search-result"></div>
</div>
</div> 
  </aside>
  <div id="mask"></div>

<!-- #reward -->
<div id="reward">
  <span class="close"><i class="ri-close-line"></i></span>
  <p class="reward-p"><i class="ri-cup-line"></i>请我喝杯咖啡吧~</p>
  <div class="reward-box">
    
    <div class="reward-item">
      <img class="reward-img" src="/images/alipay.jpg">
      <span class="reward-type">支付宝</span>
    </div>
    
    
    <div class="reward-item">
      <img class="reward-img" src="/images/wechat.jpg">
      <span class="reward-type">微信</span>
    </div>
    
  </div>
</div>
  
  
<script src="/js/jquery-2.0.3.min.js"></script>


<script src="/js/share.js"></script>


<script src="/js/lazyload.min.js"></script>


<script src="/js/jquery.nicescroll.min.js"></script>

<script type="text/javascript" charset="utf8" src="http://cdn.datatables.net/1.10.15/js/jquery.dataTables.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jstree/3.2.1/jstree.min.js"></script>

<script>
  try {
    var typed = new Typed("#subtitle", {
      strings: ['loveits blog', '中意他的博客', ''],
      startDelay: 0,
      typeSpeed: 100,
      loop: true,
      backSpeed: 100,
      showCursor: true
    });

  } catch (err) {
  }

</script>

<script>
//var nice = $("main").niceScroll();
	$('table').DataTable({
		"language": {
			"lengthMenu": "每页 _MENU_ 条记录",
			"zeroRecords": "没有找到记录",
			"info": "",
			"infoEmpty": "无记录",
			"infoFiltered": "(从 _MAX_ 条记录过滤)",
			"search":"搜索:"
		},
		"paging": false,
		searching: false,
		"columnDefs" : [ 
			{
			targets: [0],
			render: function(data, type, row, meta) {
				return  (meta.row + 1);
			}
			}],
        "order": [[4, 'asc']]	
	});			
</script>





<script src="https://cdn.bootcss.com/codemirror/5.48.4/codemirror.min.js"></script>

    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/javascript/javascript.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/css/css.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/xml/xml.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/shell/shell.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/python/python.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/htmlmixed/htmlmixed.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/htmlembedded/htmlembedded.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/clike/clike.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/php/php.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/powershell/powershell.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/mode/yaml/yaml.min.js"></script>


    
<script src="//cdn.bootcss.com/codemirror/5.48.4/addon/mode/multiplex.min.js"></script>



<script src="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/jquery-modal@0.9.2/jquery.modal.min.css">
<script src="https://cdn.jsdelivr.net/npm/justifiedGallery@3.7.0/dist/js/jquery.justifiedGallery.min.js"></script>

<script src="/js/ayer.js"></script>



<!-- Root element of PhotoSwipe. Must have class pswp. -->
<div class="pswp" tabindex="-1" role="dialog" aria-hidden="true">

    <!-- Background of PhotoSwipe. 
         It's a separate element as animating opacity is faster than rgba(). -->
    <div class="pswp__bg"></div>

    <!-- Slides wrapper with overflow:hidden. -->
    <div class="pswp__scroll-wrap">

        <!-- Container that holds slides. 
            PhotoSwipe keeps only 3 of them in the DOM to save memory.
            Don't modify these 3 pswp__item elements, data is added later on. -->
        <div class="pswp__container">
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
            <div class="pswp__item"></div>
        </div>

        <!-- Default (PhotoSwipeUI_Default) interface on top of sliding area. Can be changed. -->
        <div class="pswp__ui pswp__ui--hidden">

            <div class="pswp__top-bar">

                <!--  Controls are self-explanatory. Order can be changed. -->

                <div class="pswp__counter"></div>

                <button class="pswp__button pswp__button--close" title="Close (Esc)"></button>

                <button class="pswp__button pswp__button--share" style="display:none" title="Share"></button>

                <button class="pswp__button pswp__button--fs" title="Toggle fullscreen"></button>

                <button class="pswp__button pswp__button--zoom" title="Zoom in/out"></button>

                <!-- Preloader demo http://codepen.io/dimsemenov/pen/yyBWoR -->
                <!-- element will get class pswp__preloader--active when preloader is running -->
                <div class="pswp__preloader">
                    <div class="pswp__preloader__icn">
                        <div class="pswp__preloader__cut">
                            <div class="pswp__preloader__donut"></div>
                        </div>
                    </div>
                </div>
            </div>

            <div class="pswp__share-modal pswp__share-modal--hidden pswp__single-tap">
                <div class="pswp__share-tooltip"></div>
            </div>

            <button class="pswp__button pswp__button--arrow--left" title="Previous (arrow left)">
            </button>

            <button class="pswp__button pswp__button--arrow--right" title="Next (arrow right)">
            </button>

            <div class="pswp__caption">
                <div class="pswp__caption__center"></div>
            </div>

        </div>

    </div>

</div>

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/default-skin/default-skin.min.css">
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/photoswipe@4.1.3/dist/photoswipe-ui-default.min.js"></script>

<script>
    function viewer_init() {
        let pswpElement = document.querySelectorAll('.pswp')[0];
        let $imgArr = document.querySelectorAll(('.article-entry img:not(.reward-img)'))

        $imgArr.forEach(($em, i) => {
            $em.onclick = () => {
                // slider展开状态
                // todo: 这样不好，后面改成状态
                if (document.querySelector('.left-col.show')) return
                let items = []
                $imgArr.forEach(($em2, i2) => {
                    let img = $em2.getAttribute('data-idx', i2)
                    let src = $em2.getAttribute('data-target') || $em2.getAttribute('src')
                    let title = $em2.getAttribute('alt')
                    // 获得原图尺寸
                    const image = new Image()
                    image.src = src
                    items.push({
                        src: src,
                        w: image.width || $em2.width,
                        h: image.height || $em2.height,
                        title: title
                    })
                })
                var gallery = new PhotoSwipe(pswpElement, PhotoSwipeUI_Default, items, {
                    index: parseInt(i)
                });
                gallery.init()
            }
        })
    }
    viewer_init()
</script>




<script type="text/javascript" src="https://js.users.51.la/20544303.js"></script>
	
  
  </div>
</body>

</html>